package be.ipl.finito.dao;

import java.util.List;

import javax.ejb.Local;

import be.ipl.finito.domaine.Joueur;
import be.ipl.finito.domaine.Partie;
import be.ipl.finito.exceptions.ArgumentInvalideException;

@Local
public interface PartieDao extends  Dao<Integer, Partie>{
	/**
	 * M���thode Permetant de creer une partie en prenant en compte le nom 
	 * pass��� en param���tre.
	 * 
	 * @param nom
	 *            le nom de la partie ��� cr���er.
	 * @return la partie cr���e.
	 */
	Partie creerPartie(String nom) throws IllegalArgumentException;
	
	/**
	 * M���thode renvoyant la liste des parties en attentes.
	 * 
	 * @return la liste des parties en attentes.
	 */
	List<Partie> listerPartiesEnAttente();
	
	Partie chercherPartie(String nom);
	
	Partie chercherPartie(int id);
	
	Partie chargerPlateaux(Partie partie);
	
	Partie chargerJetons(Partie partie);

}
